<template>
  <div>
    <!-- 1.顶部栏 -->
    <div class="header">
      <van-image
        width="60"
        height="60"
        fit="cover"
        round
        :src="userInfo.photo"
      />
      <h2>
        {{ userInfo.name }}
        <br />
        <van-tag color="#fff" text-color="#009afb">{{
          userInfo.birthday
        }}</van-tag>
      </h2>
    </div>
    <!-- 2.操作链接 -->
    <van-row gutter="20">
      <van-col span="8">
        <van-icon name="newspaper-o" color="#2eadff" />
        <span>我的作品</span>
      </van-col>
      <van-col span="8">
        <van-icon name="star-o" color="#ff4f31" />
        <span>我的收藏</span>
      </van-col>
      <van-col span="8">
        <van-icon name="tosend" color="#ffa893" />
        <span>阅读历史</span>
      </van-col>
    </van-row>
    <!-- 3.cell列表 -->
    <van-cell-group>
      <van-cell icon="edit" title="编辑资料" is-link @click="$router.push('/edit')"/>
      <van-cell icon="chat-o" title="小智同学" is-link  @click="$router.push('/student')"/>
      <van-cell icon="setting-o" title="系统设置" is-link />
      <van-cell icon="warning-o" title="退出登录" is-link @click="logout" />
    </van-cell-group>
  </div>
</template>

<script>
// 导入接口
import { getUserInfo } from './user.js'
// 导入token
import { removeToken } from '@/utils/token.js'

export default {
  name: 'user',
  data () {
    return {
      userInfo: {}
    }
  },
  created () {
    //1.请求个人信息
    getUserInfo().then(res => {
      console.log(res)
      //(1)绑定数据
      this.userInfo = res.data.data
      //(2)更新到vuex
      this.$store.commit('updateUserInfo',res.data.data)
    })
  },
  methods: {
    logout () {
      this.$dialog.confirm({
        title: '提示',
        message: '确认要退出登录吗?'
      })
        .then(() => {
          // 点击确认:退出登录
          // (1)清除token
          removeToken()
          // (2)跳转登录页
          this.$router.push('/login')
        })
    }
  }
}
</script>

<style lang="less">
/* 1.顶部栏 */
.header {
  height: 100px;
  background-color: #009afb;
  /* 伸缩盒子 */
  display: flex;
  /* 垂直居中 */
  align-items: center;

  .van-image {
    padding: 0px 10px;
  }

  h2 {
    font-size: 18px;
    color: #fff;
    font-weight: 400;
  }
}

/* 2.用户链接 */
.van-row {
  .van-col {
    margin: 10px 0px;
    /*
    1.代码意思：修改主轴方向为垂直方向 （元素按照垂直方向排列）
      * 默认情况下伸缩盒子主轴是水平方向（默认元素水平方向排列）
    */
    // display: flex;
    // flex-direction: column;
    /*
    2.希望元素水平方向居中，但是主轴方向已经是垂直方向（此时水平方向变成次轴）
      * 所以水平方向居中 = 次轴方向居中 = align-items
      * justify-content : 设置主轴方向对齐方式（默认水平）
      * align-items ： 设置次轴方向对齐方式（默认垂直）
    */
    // align-items: center;
    justify-content: flex-start;

    text-align: center;
    span {
      display: block;
      font-size: 12px;
    }
  }
}
</style>
